"""MongoDB客户端：单例模式，避免重复创建连接"""
from pymongo import MongoClient
from config.settings import settings

# 全局MongoDB客户端（单例）
client = MongoClient(settings.MONGODB_URI)
# 全局数据库实例（与Node.js共用）
db = client[settings.MONGODB_DB_NAME]

# 集合实例（直接暴露给其他模块使用）
chat_collection = db[settings.MONGODB_CHAT_COLLECTION]  # 对话记录表
session_collection = db[settings.MONGODB_SESSION_COLLECTION]  # 对话会话表

# 索引：提升查询性能（可选但推荐）
def create_indexes():
    """创建数据库索引（应用启动时执行）"""
    # 对话记录：按session_id+created_at查询（历史记录排序）
    chat_collection.create_index([("session_id", 1), ("created_at", 1)])
    # 会话：按user_id+updated_at查询（用户会话列表排序）
    session_collection.create_index([("user_id", 1), ("updated_at", -1)])

# 初始化索引
create_indexes()